home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITPalette.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  1.5 KB  |  70 lines

  1. //
  2. //                    CITPalette include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2003.02.12
  7. //
  8.  
  9. #ifndef CITPALETTE_H
  10. #define CITPALETTE_H TRUE
  11.  
  12. #include "CITGadget.h"
  13.  
  14. #include <gadgets/palette.h>
  15.  
  16. //
  17. // This enum is for internal use only
  18. //
  19. enum
  20. {
  21.   CITPALETTE_COLOUR = 0,
  22.   CITPALETTE_COLOUROFFSET,
  23.   CITPALETTE_COLOURTABLE,
  24.   CITPALETTE_NUMCOLOURS,
  25.   CITPALETTE_LAST
  26. };
  27.  
  28. class CITPalette:public CITGadget
  29. {
  30.   public:
  31.     CITPalette();
  32.     ~CITPalette();
  33.  
  34.  
  35.     void Colour(UBYTE col)
  36.              {setTag(CITPALETTE_COLOUR,PALETTE_Colour,col);}
  37.     void ColourOffset(UBYTE off)
  38.              {setTag(CITPALETTE_COLOUROFFSET,PALETTE_ColourOffset,off);}
  39.     void ColourTable(UBYTE* tab)
  40.              {setTag(CITPALETTE_COLOURTABLE,PALETTE_ColourTable,ULONG(tab));}
  41.     void NumColours(UWORD numCol)
  42.              {setTag(CITPALETTE_NUMCOLOURS,PALETTE_NumColours,numCol);}
  43.  
  44.     UBYTE  Colour()
  45.              { return getTag(PALETTE_Colour); }
  46.     UBYTE  ColourOffset()
  47.              { return getTag(PALETTE_ColourOffset); }
  48.     UBYTE* ColourTable()
  49.              { return (UBYTE*)(getTag(PALETTE_ColourTable)); }
  50.     UWORD  NumColours()
  51.              { return getTag(PALETTE_NumColours); }
  52.  
  53.   protected:
  54.     virtual BOOL    Create(CITWindow* CITWd,CITContainer* parent);
  55.     virtual Object* NewObjectA(TagItem* tags);
  56.  
  57.   private:
  58.     void  setTag(int index,ULONG attr,ULONG val);
  59.     ULONG getTag(ULONG attr);
  60.  
  61.     TagItem* paletteTag;
  62. };
  63.  
  64. enum
  65. {
  66.   PALETTECLASS_FLAGBITUSED = GADGETCLASS_FLAGBITUSED
  67. };
  68.  
  69. #endif
  70.